a11y: Add the AT-SPI DBus descriptions
authorEmmanuele Bassi <ebassi@gnome.org>
Tue, 29 Sep 2020 16:55:01 +0000 (17:55 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Mon, 12 Oct 2020 15:19:31 +0000 (16:19 +0100)
And generate the code for the DBus interfaces.

We don't want the full object manager experience, here, because we're
going to have a single object responding to various interfaces and
remote method calls. For this reason, we're not using the gnome module
in Meson to call gdbus-codegen for us: we need to use the interface info
command line arguments, and those are not available from Meson.

25 files changed:
gtk/a11y/atspi/Accessibility.xml [new file with mode: 0644]
gtk/a11y/atspi/Accessible.xml [new file with mode: 0644]
gtk/a11y/atspi/Action.xml [new file with mode: 0644]
gtk/a11y/atspi/Application.xml [new file with mode: 0644]
gtk/a11y/atspi/Cache.xml [new file with mode: 0644]
gtk/a11y/atspi/Collection.xml [new file with mode: 0644]
gtk/a11y/atspi/Component.xml [new file with mode: 0644]
gtk/a11y/atspi/DeviceEventController.xml [new file with mode: 0644]
gtk/a11y/atspi/DeviceEventListener.xml [new file with mode: 0644]
gtk/a11y/atspi/Document.xml [new file with mode: 0644]
gtk/a11y/atspi/EditableText.xml [new file with mode: 0644]
gtk/a11y/atspi/Event.xml [new file with mode: 0644]
gtk/a11y/atspi/Hyperlink.xml [new file with mode: 0644]
gtk/a11y/atspi/Hypertext.xml [new file with mode: 0644]
gtk/a11y/atspi/Image.xml [new file with mode: 0644]
gtk/a11y/atspi/Registry.xml [new file with mode: 0644]
gtk/a11y/atspi/Selection.xml [new file with mode: 0644]
gtk/a11y/atspi/Socket.xml [new file with mode: 0644]
gtk/a11y/atspi/Table.xml [new file with mode: 0644]
gtk/a11y/atspi/TableCell.xml [new file with mode: 0644]
gtk/a11y/atspi/Text.xml [new file with mode: 0644]
gtk/a11y/atspi/Value.xml [new file with mode: 0644]
gtk/a11y/atspi/meson.build [new file with mode: 0644]
gtk/a11y/meson.build [new file with mode: 0644]
gtk/meson.build

diff --git a/gtk/a11y/atspi/Accessibility.xml b/gtk/a11y/atspi/Accessibility.xml
new file mode 100644 (file)
index 0000000..a454aeb
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<spec xmlns:xi="http://www.w3.org/2001/XInclude">
+  <xi:include href="Accessible.xml" parse="xml"/>
+  <xi:include href="Action.xml" parse="xml"/>
+  <xi:include href="Application.xml" parse="xml"/>
+  <xi:include href="Collection.xml" parse="xml"/>
+  <xi:include href="Component.xml" parse="xml"/>
+  <xi:include href="Document.xml" parse="xml"/>
+  <xi:include href="Hypertext.xml" parse="xml"/>
+  <xi:include href="Hyperlink.xml" parse="xml"/>
+  <xi:include href="Image.xml" parse="xml"/>
+  <xi:include href="Selection.xml" parse="xml"/>
+  <xi:include href="Table.xml" parse="xml"/>
+  <xi:include href="TableCell.xml" parse="xml"/>
+  <xi:include href="Text.xml" parse="xml"/>
+  <xi:include href="EditableText.xml" parse="xml"/>
+  <xi:include href="Cache.xml" parse="xml"/>
+  <xi:include href="Value.xml" parse="xml"/>
+  <xi:include href="Registry.xml" parse="xml"/>
+  <xi:include href="DeviceEventController.xml" parse="xml"/>
+  <xi:include href="DeviceEventListener.xml" parse="xml"/>
+</spec>
diff --git a/gtk/a11y/atspi/Accessible.xml b/gtk/a11y/atspi/Accessible.xml
new file mode 100644 (file)
index 0000000..7015466
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Accessible">
+
+  <property name="Name" type="s" access="read"/>
+
+  <property name="Description" type="s" access="read"/>
+
+  <property name="Parent" type="(so)" access="read">
+    <annotation name="com.trolltech.QtDBus.QtTypeName" value="QSpiObjectReference"/>
+  </property>
+
+  <property name="ChildCount" type="i" access="read"/>
+
+  <property name="Locale" type="s" access="read"/>
+
+  <property name="AccessibleId" type="s" access="read"/>
+
+  <method name="GetChildAtIndex">
+    <arg direction="in" name="index" type="i"/>
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+  </method>
+
+  <method name="GetChildren">
+    <arg direction="out" type="a(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReferenceArray"/>
+  </method>
+
+  <method name="GetIndexInParent">
+    <arg direction="out" type="i"/>
+  </method>
+
+  <method name="GetRelationSet">
+    <arg direction="out" type="a(ua(so))"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiRelationArray"/>
+  </method>
+
+  <method name="GetRole">
+    <arg direction="out" type="u"/>
+  </method>
+
+  <method name="GetRoleName">
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="GetLocalizedRoleName">
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="GetState">
+    <arg direction="out" type="au"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiIntList"/>
+  </method>
+
+  <method name="GetAttributes">
+    <arg direction="out" type="a{ss}"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiAttributeSet"/>
+  </method>
+
+  <method name="GetApplication">
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Action.xml b/gtk/a11y/atspi/Action.xml
new file mode 100644 (file)
index 0000000..0f5aa85
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Action">
+
+  <property name="NActions" type="i" access="read"/>
+
+  <method name="GetDescription">
+    <arg type="i" name="index" direction="in"/>
+    <arg type="s" direction="out"/>
+  </method>
+
+  <method name="GetName">
+    <arg type="i" name="index" direction="in"/>
+    <arg type="s" direction="out"/>
+  </method>
+
+  <method name="GetLocalizedName">
+    <arg type="i" name="index" direction="in"/>
+    <arg type="s" direction="out"/>
+  </method>
+
+  <method name="GetKeyBinding">
+    <arg type="i" name="index" direction="in"/>
+    <arg type="s" direction="out"/>
+  </method>
+
+  <method name="GetActions">
+    <arg direction="out" type="a(sss)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiActionArray"/>
+  </method>
+
+  <method name="DoAction">
+    <arg direction="in" name="index" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Application.xml b/gtk/a11y/atspi/Application.xml
new file mode 100644 (file)
index 0000000..2191f08
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Application">
+
+  <property name="ToolkitName" type="s" access="read"/>
+
+  <property name="Version" type="s" access="read"/>
+
+  <property name="AtspiVersion" type="s" access="read"/>
+  <property name="Id" type="i" access="readwrite"/>
+
+  <method name="GetLocale">
+    <arg direction="in" name="lctype" type="u"/>
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="RegisterEventListener">
+    <arg direction="in" name="event" type="s"/>
+  </method>
+
+  <method name="DeregisterEventListener">
+    <arg direction="in" name="event" type="s"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Cache.xml b/gtk/a11y/atspi/Cache.xml
new file mode 100644 (file)
index 0000000..e693b54
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Cache">
+
+  <method name="GetItems">
+    <arg name="nodes" type="a((so)(so)iiassusau)" direction="out"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiAccessibleCacheArray"/>
+  </method>
+
+  <signal name="AddAccessible">
+    <arg name="nodeAdded" type="((so)(so)iiassusau)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiAccessibleCacheItem"/>
+  </signal>
+
+  <signal name="RemoveAccessible">
+    <arg name="nodeRemoved" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiObjectReference"/>
+  </signal>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Collection.xml b/gtk/a11y/atspi/Collection.xml
new file mode 100644 (file)
index 0000000..7b39776
--- /dev/null
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Collection">
+
+  <method name="GetMatches">
+    <arg direction="in" name="rule" type="(auuasuauusub)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="QSpiMatchRule"/>
+    <arg direction="in" name="sortby" type="u"/>
+    <arg direction="in" name="count" type="i"/>
+    <arg direction="in" name="traverse" type="b"/>
+    <arg direction="out" type="a(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiReferenceSet"/>
+  </method>
+
+  <method name="GetMatchesTo">
+    <arg direction="in" name="current_object" type="o"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiObjectReference"/>
+    <arg direction="in" name="rule" type="(auuasuauusub)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="QSpiMatchRule"/>
+    <arg direction="in" name="sortby" type="u"/>
+    <arg direction="in" name="tree" type="u"/>
+    <arg direction="in" name="limit_scope" type="b"/>
+    <arg direction="in" name="count" type="i"/>
+    <arg direction="in" name="traverse" type="b"/>
+    <arg direction="out" type="a(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiReferenceSet"/>
+  </method>
+
+  <method name="GetMatchesFrom">
+    <arg direction="in" name="current_object" type="o"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiObjectReference"/>
+    <arg direction="in" name="rule" type="(auuasuauusub)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="QSpiMatchRule"/>
+    <arg direction="in" name="sortby" type="u"/>
+    <arg direction="in" name="tree" type="u"/>
+    <arg direction="in" name="count" type="i"/>
+    <arg direction="in" name="traverse" type="b"/>
+    <arg direction="out" type="a(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiReferenceSet"/>
+  </method>
+
+  <method name="GetActiveDescendant">
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiReferenceSet"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Component.xml b/gtk/a11y/atspi/Component.xml
new file mode 100644 (file)
index 0000000..c1258d2
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Component">
+
+  <method name="Contains">
+    <arg direction="in" name="x" type="i"/>
+    <arg direction="in" name="y" type="i"/>
+    <arg direction="in" name="coord_type" type="u"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="GetAccessibleAtPoint">
+    <arg direction="in" name="x" type="i"/>
+    <arg direction="in" name="y" type="i"/>
+    <arg direction="in" name="coord_type" type="u"/>
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+  </method>
+
+  <method name="GetExtents">
+    <arg direction="in" name="coord_type" type="u"/>
+    <arg direction="out" type="(iiii)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiRect"/>
+  </method>
+
+  <method name="GetPosition">
+    <arg direction="in" name="coord_type" type="u"/>
+    <arg direction="out" name="x" type="i"/>
+    <arg direction="out" name="y" type="i"/>
+  </method>
+
+  <method name="GetSize">
+    <arg direction="out" name="width" type="i"/>
+    <arg direction="out" name="height" type="i"/>
+  </method>
+
+  <method name="GetLayer">
+    <arg direction="out" type="u"/>
+  </method>
+
+  <method name="GetMDIZOrder">
+    <arg direction="out" type="n"/>
+  </method>
+
+  <method name="GrabFocus">
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="GetAlpha">
+    <arg direction="out" type="d"/>
+  </method>
+
+  <method name="SetExtents">
+    <arg direction="in" name="x" type="i"/>
+    <arg direction="in" name="y" type="i"/>
+    <arg direction="in" name="width" type="i"/>
+    <arg direction="in" name="height" type="i"/>
+    <arg direction="in" name="coord_type" type="u"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="SetPosition">
+    <arg direction="in" name="x" type="i"/>
+    <arg direction="in" name="y" type="i"/>
+    <arg direction="in" name="coord_type" type="u"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="SetSize">
+    <arg direction="in" name="width" type="i"/>
+    <arg direction="in" name="height" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="ScrollTo">
+    <arg direction="in" name="type" type="u"/>
+  </method>
+
+  <method name="ScrollToPoint">
+    <arg direction="in" name="type" type="u"/>
+    <arg direction="in" name="x" type="i"/>
+    <arg direction="in" name="y" type="i"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/DeviceEventController.xml b/gtk/a11y/atspi/DeviceEventController.xml
new file mode 100644 (file)
index 0000000..0af9aac
--- /dev/null
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.DeviceEventController">
+
+  <method name="RegisterKeystrokeListener">
+    <arg direction="in" name="listener" type="o"/>
+    <arg direction="in" name="keys" type="a(iisi)">
+      <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="QSpiKeyTypeArray"/>
+    </arg>
+    <arg direction="in" name="mask" type="u"/>
+    <arg direction="in" name="type" type="au">
+      <annotation name="com.trolltech.QtDBus.QtTypeName.In3" value="QSpiEventTypeArray"/>
+    </arg>
+    <arg direction="in" name="mode" type="(bbb)">
+      <annotation name="com.trolltech.QtDBus.QtTypeName.In4" value="QSpiEventMode"/>
+    </arg>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="DeregisterKeystrokeListener">
+    <arg direction="in" name="listener" type="o"/>
+    <arg direction="in" name="keys" type="a(iisi)">
+      <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="QSpiKeyTypeArray"/>
+    </arg>
+    <arg direction="in" name="mask" type="u"/>
+    <arg direction="in" name="type" type="u"/>
+  </method>
+
+  <method name="RegisterDeviceEventListener">
+    <arg direction="in" name="listener" type="o"/>
+    <arg direction="in" name="types" type="u"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="DeregisterDeviceEventListener">
+    <arg direction="in" name="listener" type="o"/>
+    <arg direction="in" name="types" type="u"/>
+  </method>
+
+  <method name="GenerateKeyboardEvent">
+    <arg direction="in" name="keycode" type="i"/>
+    <arg direction="in" name="keystring" type="s"/>
+    <arg direction="in" name="type" type="u"/>
+  </method>
+
+  <method name="GenerateMouseEvent">
+    <arg direction="in" name="x" type="i"/>
+    <arg direction="in" name="y" type="i"/>
+    <arg direction="in" name="eventName" type="s"/>
+  </method>
+
+  <method name="NotifyListenersSync">
+    <arg direction="in" name="event" type="(uiuuisb)"/>
+    <arg direction="out" type="b"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiDeviceEvent"/>
+  </method>
+
+  <method name="NotifyListenersAsync">
+    <arg direction="in" name="event" type="(uiuuisb)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiDeviceEvent"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/DeviceEventListener.xml b/gtk/a11y/atspi/DeviceEventListener.xml
new file mode 100644 (file)
index 0000000..a6dd3b6
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.DeviceEventListener">
+
+  <method name="NotifyEvent">
+    <arg direction="in" name="event" type="(uiuuisb)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiDeviceEvent"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Document.xml b/gtk/a11y/atspi/Document.xml
new file mode 100644 (file)
index 0000000..d12a306
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Document">
+
+  <property name="CurrentPageNumber" type="i" access="read"/>
+
+  <property name="PageCount" type="i" access="read"/>
+
+  <method name="GetLocale">
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="GetAttributeValue">
+    <arg direction="in" name="attributename" type="s"/>
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="GetAttributes">
+    <arg direction="out" type="{ss}"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiAttrubutes"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/EditableText.xml b/gtk/a11y/atspi/EditableText.xml
new file mode 100644 (file)
index 0000000..09f62f5
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.EditableText">
+
+  <method name="SetTextContents">
+    <arg direction="in" name="newContents" type="s"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="InsertText">
+    <arg direction="in" name="position" type="i"/>
+    <arg direction="in" name="text" type="s"/>
+    <arg direction="in" name="length" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="CopyText">
+    <arg direction="in" name="startPos" type="i"/>
+    <arg direction="in" name="endPos" type="i"/>
+  </method>
+
+  <method name="CutText">
+    <arg direction="in" name="startPos" type="i"/>
+    <arg direction="in" name="endPos" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="DeleteText">
+    <arg direction="in" name="startPos" type="i"/>
+    <arg direction="in" name="endPos" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="PasteText">
+    <arg direction="in" name="position" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Event.xml b/gtk/a11y/atspi/Event.xml
new file mode 100644 (file)
index 0000000..fac67de
--- /dev/null
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+
+<interface name="org.a11y.atspi.Event.Object">
+       <signal name="PropertyChange"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="BoundsChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="LinkSelected"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="StateChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="ChildrenChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="VisibleDataChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="SelectionChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="ModelChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="ActiveDescendantChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="RowInserted"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="RowReordered"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="RowDeleted"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="ColumnInserted"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="ColumnReordered"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="ColumnDeleted"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="TextBoundsChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="TextSelectionChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="TextChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="TextAttributesChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="TextCaretMoved"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="AttributesChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+</interface>
+
+<interface name="org.a11y.atspi.Event.Window">
+       <signal name="PropertyChange"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Minimize"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Maximize"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Restore"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Close"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Create"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Reparent"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="DesktopCreate"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="DesktopDestroy"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Destroy"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Activate"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Deactivate"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Raise"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Lower"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Move"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Resize"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Shade"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="uUshade"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Restyle"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+</interface>
+
+<interface name="org.a11y.atspi.Event.Mouse">
+       <signal name="Abs"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Rel"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Button"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+</interface>
+
+<interface name="org.a11y.atspi.Event.Keyboard">
+       <signal name="Modifiers"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+</interface>
+
+<interface name="org.a11y.atspi.Event.Terminal">
+       <signal name="LineChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="ColumncountChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="LinecountChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="ApplicationChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="CharwidthChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+</interface>
+
+<interface name="org.a11y.atspi.Event.Document">
+       <signal name="LoadComplete"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="Reload"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="LoadStopped"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="ContentChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="AttributesChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+       <signal name="PageChanged"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+</interface>
+
+<interface name="org.a11y.atspi.Event.Focus">
+       <signal name="Focus"><arg direction="in" type="(suuv)"/>
+          <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiEvent"/>
+        </signal>
+</interface>
+
+</node>
diff --git a/gtk/a11y/atspi/Hyperlink.xml b/gtk/a11y/atspi/Hyperlink.xml
new file mode 100644 (file)
index 0000000..75f8099
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Hyperlink">
+
+  <property name="NAnchors" type="n" access="read"/>
+
+  <property name="StartIndex" type="i" access="read"/>
+
+  <property name="EndIndex" type="i" access="read"/>
+
+  <method name="GetObject">
+    <arg direction="in" name="i" type="i"/>
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+  </method>
+
+  <method name="GetURI">
+    <arg direction="in" name="i" type="i"/>
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="IsValid">
+    <arg direction="out" type="b"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Hypertext.xml b/gtk/a11y/atspi/Hypertext.xml
new file mode 100644 (file)
index 0000000..18a3b34
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Hypertext">
+
+  <method name="GetNLinks">
+    <arg direction="out" type="i"/>
+  </method>
+
+  <method name="GetLink">
+    <arg direction="in" name="linkIndex" type="i"/>
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+  </method>
+
+  <method name="GetLinkIndex">
+    <arg direction="in" name="characterIndex" type="i"/>
+    <arg direction="out" type="i"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Image.xml b/gtk/a11y/atspi/Image.xml
new file mode 100644 (file)
index 0000000..43536ee
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Image">
+
+  <property name="ImageDescription" type="s" access="read"/>
+
+  <property name="ImageLocale" type="s" access="read"/>
+
+  <method name="GetImageExtents">
+    <arg direction="in" name="coordType" type="u"/>
+    <arg direction="out" type="(iiii)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiRect"/>
+  </method>
+
+  <method name="GetImagePosition">
+    <arg direction="out" name="x" type="i"/>
+    <arg direction="out" name="y" type="i"/>
+    <arg direction="in" name="coordType" type="u"/>
+  </method>
+
+  <method name="GetImageSize">
+    <arg direction="out" name="width" type="i"/>
+    <arg direction="out" name="height" type="i"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Registry.xml b/gtk/a11y/atspi/Registry.xml
new file mode 100644 (file)
index 0000000..a3ab93c
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Registry">
+
+  <method name="RegisterEvent">
+    <arg direction="in" name="event" type="s">
+    </arg>
+  </method>
+
+  <method name="DeregisterEvent">
+    <arg direction="in" name="event" type="s">
+    </arg>
+  </method>
+
+  <method name="GetRegisteredEvents">
+    <arg direction="out" name="events" type="a(ss)">
+    </arg>
+  </method>
+
+  <signal name="EventListenerRegistered">
+    <arg direction="out" name="bus" type="s"/>
+    <arg direction="out" name="path" type="s"/>
+  </signal>
+
+  <signal name="EventListenerDeregistered">
+    <arg direction="out" name="bus" type="s"/>
+    <arg direction="out" name="path" type="s"/>
+  </signal>
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Selection.xml b/gtk/a11y/atspi/Selection.xml
new file mode 100644 (file)
index 0000000..2e19187
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Selection">
+
+  <property name="NSelectedChildren" type="i" access="read"/>
+
+  <method name="GetSelectedChild">
+    <arg direction="in" name="selectedChildIndex" type="i"/>
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+  </method>
+
+  <method name="SelectChild">
+    <arg direction="in" name="childIndex" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="DeselectSelectedChild">
+    <arg direction="in" name="selectedChildIndex" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="IsChildSelected">
+    <arg direction="in" name="childIndex" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="SelectAll">
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="ClearSelection">
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="DeselectChild">
+    <arg direction="in" name="childIndex" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Socket.xml b/gtk/a11y/atspi/Socket.xml
new file mode 100644 (file)
index 0000000..8da9948
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Socket">
+
+  <method name="Embed">
+    <arg direction="in" name="plug" type="(so)">
+      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiObjectReference"/>
+    </arg>
+    <arg direction="out" name="socket" type="(so)">
+      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+    </arg>
+  </method>
+
+  <method name="Unembed">
+    <arg direction="in" name="plug" type="(so)">
+      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiObjectReference"/>
+    </arg>
+  </method>
+
+  <signal name="Available">
+    <arg direction="in" name="socket" type="(so)">
+      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="QSpiObjectReference"/>
+    </arg>
+  </signal>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Table.xml b/gtk/a11y/atspi/Table.xml
new file mode 100644 (file)
index 0000000..181acaa
--- /dev/null
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Table">
+
+  <property name="NRows" type="i" access="read"/>
+
+  <property name="NColumns" type="i" access="read"/>
+
+  <property name="Caption" type="(so)" access="read">
+    <annotation name="com.trolltech.QtDBus.QtTypeName" value="QSpiObjectReference"/>
+  </property>
+
+  <property name="Summary" type="(so)" access="read">
+    <annotation name="com.trolltech.QtDBus.QtTypeName" value="QSpiObjectReference"/>
+  </property>
+
+  <property name="NSelectedRows" type="i" access="read"/>
+
+  <property name="NSelectedColumns" type="i" access="read"/>
+
+  <method name="GetAccessibleAt">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+  </method>
+
+  <method name="GetIndexAt">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="i"/>
+  </method>
+
+  <method name="GetRowAtIndex">
+    <arg direction="in" name="index" type="i"/>
+    <arg direction="out" type="i"/>
+  </method>
+
+  <method name="GetColumnAtIndex">
+    <arg direction="in" name="index" type="i"/>
+    <arg direction="out" type="i"/>
+  </method>
+
+  <method name="GetRowDescription">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="GetColumnDescription">
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="GetRowExtentAt">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="i"/>
+  </method>
+
+  <method name="GetColumnExtentAt">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="i"/>
+  </method>
+
+  <method name="GetRowHeader">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+  </method>
+
+  <method name="GetColumnHeader">
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="(so)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiObjectReference"/>
+  </method>
+
+  <method name="GetSelectedRows">
+    <arg direction="out" type="ai"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiIntList"/>
+  </method>
+
+  <method name="GetSelectedColumns">
+    <arg direction="out" type="ai"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiIntList"/>
+  </method>
+
+  <method name="IsRowSelected">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="IsColumnSelected">
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="IsSelected">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="AddRowSelection">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="AddColumnSelection">
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="RemoveRowSelection">
+    <arg direction="in" name="row" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="RemoveColumnSelection">
+    <arg direction="in" name="column" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="GetRowColumnExtentsAtIndex">
+    <arg direction="in" name="index" type="i"/>
+    <arg direction="out" type="b"/>
+    <arg direction="out" name="row" type="i"/>
+    <arg direction="out" name="col" type="i"/>
+    <arg direction="out" name="row_extents" type="i"/>
+    <arg direction="out" name="col_extents" type="i"/>
+    <arg direction="out" name="is_selected" type="b"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/TableCell.xml b/gtk/a11y/atspi/TableCell.xml
new file mode 100644 (file)
index 0000000..c60a074
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.TableCell">
+
+  <property access="read" name="ColumnSpan" type="i" />
+
+  <property access="read" name="Position" type="(ii)" />
+
+  <property access="read" name="RowSpan" type="i" />
+
+  <property access="read" name="Table" type="(so)" />
+
+  <method name="GetRowColumnSpan">
+    <arg direction="out" type="b" />
+    <arg direction="out" name="row" type="i" />
+    <arg direction="out" name="col" type="i" />
+    <arg direction="out" name="row_extents" type="i" />
+    <arg direction="out" name="col_extents" type="i" />
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Text.xml b/gtk/a11y/atspi/Text.xml
new file mode 100644 (file)
index 0000000..313131e
--- /dev/null
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Text">
+
+  <property name="CharacterCount" type="i" access="read"/>
+
+  <property name="CaretOffset" type="i" access="read"/>
+
+  <method name="GetStringAtOffset">
+    <arg direction="in" name="offset" type="i"/>
+    <arg direction="in" name="granularity" type="u"/>
+    <arg direction="out" type="s"/>
+    <arg direction="out" name="startOffset" type="i"/>
+    <arg direction="out" name="endOffset" type="i"/>
+  </method>
+
+  <method name="GetText">
+    <arg direction="in" name="startOffset" type="i"/>
+    <arg direction="in" name="endOffset" type="i"/>
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="SetCaretOffset">
+    <arg direction="in" name="offset" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="GetTextBeforeOffset">
+    <arg direction="in" name="offset" type="i"/>
+    <arg direction="in" name="type" type="u"/>
+    <arg direction="out" type="s"/>
+    <arg direction="out" name="startOffset" type="i"/>
+    <arg direction="out" name="endOffset" type="i"/>
+  </method>
+
+  <method name="GetTextAtOffset">
+    <arg direction="in" name="offset" type="i"/>
+    <arg direction="in" name="type" type="u"/>
+    <arg direction="out" type="s"/>
+    <arg direction="out" name="startOffset" type="i"/>
+    <arg direction="out" name="endOffset" type="i"/>
+  </method>
+
+  <method name="GetTextAfterOffset">
+    <arg direction="in" name="offset" type="i"/>
+    <arg direction="in" name="type" type="u"/>
+    <arg direction="out" type="s"/>
+    <arg direction="out" name="startOffset" type="i"/>
+    <arg direction="out" name="endOffset" type="i"/>
+  </method>
+
+  <method name="GetCharacterAtOffset">
+    <arg name="offset" type="i" direction="in"/>
+    <arg type="i" direction="out"/>
+  </method>
+
+  <method name="GetAttributeValue">
+    <arg direction="in" name="offset" type="i"/>
+    <arg direction="in" name="attributeName" type="s"/>
+    <arg direction="out" type="s"/>
+  </method>
+
+  <method name="GetAttributes">
+    <arg direction="in" name="offset" type="i"/>
+    <arg direction="out" type="a{ss}"/>
+    <arg direction="out" name="startOffset" type="i"/>
+    <arg direction="out" name="endOffset" type="i"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiAttributeSet"/>
+  </method>
+
+  <method name="GetDefaultAttributes">
+    <arg direction="out" type="a{ss}"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiAttributeSet"/>
+  </method>
+
+  <method name="GetCharacterExtents">
+    <arg direction="in" name="offset" type="i"/>
+    <arg direction="out" name="x" type="i"/>
+    <arg direction="out" name="y" type="i"/>
+    <arg direction="out" name="width" type="i"/>
+    <arg direction="out" name="height" type="i"/>
+    <arg direction="in" name="coordType" type="u"/>
+  </method>
+
+  <method name="GetOffsetAtPoint">
+    <arg direction="in" name="x" type="i"/>
+    <arg direction="in" name="y" type="i"/>
+    <arg direction="in" name="coordType" type="u"/>
+    <arg direction="out" type="i"/>
+  </method>
+
+  <method name="GetNSelections">
+    <arg direction="out" type="i"/>
+  </method>
+
+  <method name="GetSelection">
+    <arg direction="in" name="selectionNum" type="i"/>
+    <arg direction="out" name="startOffset" type="i"/>
+    <arg direction="out" name="endOffset" type="i"/>
+  </method>
+
+  <method name="AddSelection">
+    <arg direction="in" name="startOffset" type="i"/>
+    <arg direction="in" name="endOffset" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="RemoveSelection">
+    <arg direction="in" name="selectionNum" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="SetSelection">
+    <arg direction="in" name="selectionNum" type="i"/>
+    <arg direction="in" name="startOffset" type="i"/>
+    <arg direction="in" name="endOffset" type="i"/>
+    <arg direction="out" type="b"/>
+  </method>
+
+  <method name="GetRangeExtents">
+    <arg direction="in" name="startOffset" type="i"/>
+    <arg direction="in" name="endOffset" type="i"/>
+    <arg direction="out" name="x" type="i"/>
+    <arg direction="out" name="y" type="i"/>
+    <arg direction="out" name="width" type="i"/>
+    <arg direction="out" name="height" type="i"/>
+    <arg direction="in" name="coordType" type="u"/>
+  </method>
+
+  <method name="GetBoundedRanges">
+    <arg direction="in" name="x" type="i"/>
+    <arg direction="in" name="y" type="i"/>
+    <arg direction="in" name="width" type="i"/>
+    <arg direction="in" name="height" type="i"/>
+    <arg direction="in" name="coordType" type="u"/>
+    <arg direction="in" name="xClipType" type="u"/>
+    <arg direction="in" name="yClipType" type="u"/>
+    <arg direction="out" type="a(iisv)"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiRangeList"/>
+  </method>
+
+  <method name="GetAttributeRun">
+    <arg direction="in" name="offset" type="i"/>
+    <arg direction="in" name="includeDefaults" type="b"/>
+    <arg direction="out" type="a{ss}"/>
+    <arg direction="out" name="startOffset" type="i"/>
+    <arg direction="out" name="endOffset" type="i"/>
+    <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="QSpiAttributeSet"/>
+  </method>
+
+  <method name="GetDefaultAttributeSet">
+    <arg direction="out" type="a{ss}"/>
+  </method>
+
+  <method name="ScrollSubstringTo">
+    <arg direction="in" name="startOffset" type="i"/>
+    <arg direction="in" name="endOffset" type="i"/>
+    <arg direction="in" name="type" type="u"/>
+  </method>
+
+  <method name="ScrollSubstringToPoint">
+    <arg direction="in" name="startOffset" type="i"/>
+    <arg direction="in" name="endOffset" type="i"/>
+    <arg direction="in" name="type" type="u"/>
+    <arg direction="in" name="x" type="i"/>
+    <arg direction="in" name="y" type="i"/>
+  </method>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/Value.xml b/gtk/a11y/atspi/Value.xml
new file mode 100644 (file)
index 0000000..ccd6c7a
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<node name="/node">
+<interface name="org.a11y.atspi.Value">
+
+        <property name="MinimumValue" type="d" access="read"/>
+
+        <property name="MaximumValue" type="d" access="read"/>
+
+        <property name="MinimumIncrement" type="d" access="read"/>
+
+        <property name="CurrentValue" type="d" access="readwrite"/>
+
+</interface>
+</node>
diff --git a/gtk/a11y/atspi/meson.build b/gtk/a11y/atspi/meson.build
new file mode 100644 (file)
index 0000000..05be90c
--- /dev/null
@@ -0,0 +1,65 @@
+atspi_xml = [
+  'Accessible.xml',
+  'Action.xml',
+  'Application.xml',
+  'Cache.xml',
+  'Collection.xml',
+  'Component.xml',
+  'DeviceEventController.xml',
+  'DeviceEventListener.xml',
+  'Document.xml',
+  'EditableText.xml',
+  'Event.xml',
+  'Hyperlink.xml',
+  'Hypertext.xml',
+  'Image.xml',
+  'Registry.xml',
+  'Selection.xml',
+  'Socket.xml',
+  'Table.xml',
+  'TableCell.xml',
+  'Text.xml',
+  'Value.xml',
+]
+
+gdbus_codegen = find_program('gdbus-codegen')
+atspi_src = []
+foreach xml: atspi_xml
+  obj_name = xml.split('.').get(0)
+
+  # We cannot use gnome.gdbus_codegen() directly because we only care about
+  # the interface definitions, not the whole GTypeInterface/GObject proxy
+  # classes
+  gen_hdr = custom_target('atspi-' + obj_name.to_lower() + '-hdr',
+    input: xml,
+    output: 'atspi-' + obj_name.to_lower() + '.h',
+    command: [
+      gdbus_codegen,
+      '--interface-prefix=org.a11y.atspi',
+      '--c-namespace=Atspi',
+      '--pragma-once',
+      '--interface-info-header',
+      '--output=@OUTPUT@',
+      '@INPUT@',
+    ],
+    build_by_default: true,
+  )
+
+  gen_src = custom_target('atspi-' + obj_name.to_lower() + '-src',
+    input: xml,
+    output: 'atspi-' + obj_name.to_lower() + '.c',
+    command: [
+      gdbus_codegen,
+      '--interface-prefix=org.a11y.atspi',
+      '--c-namespace=Atspi',
+      '--interface-info-body',
+      '--output=@OUTPUT@',
+      '@INPUT@',
+    ],
+    build_by_default: true,
+  )
+
+  atspi_src += [gen_src, gen_hdr]
+endforeach
+
+gtk_a11y_src += atspi_src
diff --git a/gtk/a11y/meson.build b/gtk/a11y/meson.build
new file mode 100644 (file)
index 0000000..b3555ef
--- /dev/null
@@ -0,0 +1,10 @@
+gtk_a11y_src = []
+gtk_a11y_backends = []
+
+if os_unix
+  gtk_a11y_backends += 'atspi'
+endif
+
+if gtk_a11y_backends.contains('atspi')
+  subdir('atspi')
+endif
index 006ac8f31e74bed6c65b31850aee9091a2276887..614b4079f87c0fb1b57b13a3b0a296fddde691e8 100644 (file)
@@ -1,3 +1,4 @@
+subdir('a11y')
 subdir('deprecated')
 subdir('inspector')
 
@@ -961,6 +962,7 @@ gtk_gen_headers = [
 ]
 
 gtk_sources += [
+  gtk_a11y_src,
   gtk_dbus_src,
   gtk_deprecated_sources,
   inspector_sources,